Стек
Стек представља колекцију података у коју се подаци додају по LIFO (енгл. last-in-first out) принципу - елемент се може додати само на врх и скинути само са врха стека.
У језику C++ стек се реализује класом stack<T> где
T представља тип елемената на стеку. За њено коришћење
потребно је укључити заглавље <stack>. Подржане су
следеће методе (све сложености \(O(1)\)):
push- поставља дати елемент на врх стекаpop- скида елемент са врха стека (под претпоставком да стек није празан – ако је стек празан, понашање је недефинисано и може доћи до насилног прекида рада програма). Нагласимо да је ова метода типаvoidи да не враћа уклоњени елемент.top- очитава елемент на врху стека (под претпоставком да стек није празан)empty- проверава да ли је стек празанsize- враћа број елемената на стеку.
Ако се на стеку чувају уређени парови или n-торке, тада се уместо
методе push, може користити метода emplace,
којој се само редом наводе елементи пара тј. n-торке (није потребно
посебно позивати функцију за креирање пара тј. n-торке, што је неопходно
када се користи push).
Стек у језику C++ је заправо само адаптер око неке колекције података (подразумевано вектора) који корисника тера да поштује правила приступа стеку и спречава да направи операцију која над стеком није допуштена (попут приступа неком елементу испод врха).
Стек
Стек представља колекцију података у коју се подаци додају по LIFO (енгл. last-in-first out) принципу - елемент се може додати само на врх и скинути само са врха стека.